/**
 * @file e4_t2_q6.cpp
 * @date 2022-03-09
 * 
 * @copyright Copyright (c) 2022 cnzyx MIT Licence
 * 
 */

#include<stdlib.h>
#include<iostream>
#include<string.h>

using namespace std;

int *fun(char *st){
    //个人比较喜欢从 堆 中申请内存
    int *cnt=new int[3]();
    // 由fgets获取的字符串会读入'\n'
    int len=strlen(st)-1;
    for(int i=0;i<len;i++){
        if(st[i]=='a'){
            cnt[0]++;
        }else if(st[i]=='b'){
            cnt[1]++;
        }else{
            cnt[2]++;
        }
    }
    return cnt;
}
int main(int argc, char const *argv[])
{
    //UTF-8
    system("chcp 65001");

    int *result;
    char str[100];
    printf("请输一个有“a，b，c组成的字符串：\n");
    // 危险函数gets()已经弃用，
    // 因为使用fgets()获取字符串有_MaxCount参数限制缓冲区，
    // 但fgets()会读入'\n'
    fgets(str,100,stdin);
    result=fun(str);
    printf("结果：a有%d个，b有%d个，c有%d个\n",result[0],result[1],result[2]);

    //Pause console
    system("pause");
    return 0;
}
